/*
 * Copyright 2012 Clement Sannicolo <clement.sannicolo@gmail.com>
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

Ext.define('Nutrient.view.food.Edit',
{
	extend: 'Ext.window.Window',
	alias: 'widget.nutrient.food.edit',

	requires: [
	    'Nutrient.view.food.form.Edit',
	    'Ext.toolbar.Toolbar'
	],

	title: 'Edit',
	layout: 'fit',
	border: false,
	modal: true,
	closeAction: 'hide',
	minWidth: 600,
	width: 600,
	minHeight: 350,
	height: 350,
	items: {
		itemId: 'nutrient-food-form-edit',
		xtype: 'nutrient.food.form.edit'
	},
	
	initComponent: function()
	{
		this.dockedItems = [{
			xtype: 'toolbar',
			dock: 'bottom',
			ui: 'footer',
			layout: {
				pack: 'end'
			},
			defaults: {
				xtype: 'button',
				minWidth: 80,
				scope: this
			},
			items: [{
				text: 'Ok',
				iconCls: 'icon-check',
				handler: function()
				{
					var form = this.down('#formpanel').getForm();

					if (form.isValid()) {
						App.dispatch({
							controller: 'Nutrient.controller.Food',
							action: 'update',
							record: form.getRecord(),
							values: form.getValues()
						});
						this.hide();
					}
				}
			}, {
				text: 'Annuler',
				iconCls: 'icon-cancel',
				handler: function()
				{
					this.hide();
				}
			}]
		}];

		this.callParent(arguments);
	},

	loadRecord: function(record)
	{
		this.down('#formpanel').getForm().loadRecord(record);
	},
	
	show: function()
	{
		this.down('#treetabpanel').setActiveItem('card-general');
		this.callParent(arguments);
	}
});